<?php
	require_once $_SERVER['roottrivialchase'].'/secure/authentification_jeu.php';
	require_once $_SERVER['roottrivialchase']."/classes/ConnectToBD_tc.class.php";
	require_once $_SERVER['roottrivialchase'].'/classes/Utilisateur.class.php';
	require_once $_SERVER['roottrivialchase'].'/classes/Table.class.php';
	require_once $_SERVER['roottrivialchase'].'/classes/Quiz.class.php';
	
	$db_link=ConnectToBD_tc::connexion();
	$requete="SELECT nb_joueur, pause_demandee,camemberts, partie_pause, resultat_de, id_createur, partie_lance, position_joueur, tour, statut, list_joueur, nb_camemberts FROM table_jeu WHERE nom_table = \"".$_GET['nomTable']."\";";
	$reponse=$db_link->prepare($requete);
	$reponse->execute();
	$reponse->bindColumn("partie_pause", $partie_pause);
	$reponse->bindColumn("position_joueur", $positions); //Positions des joueurs
	$reponse->bindColumn("tour", $tour); //Numero du joueur dont c'est le tour
	$reponse->bindColumn("statut", $statut); //Statut de la partie: 1=attente de lance de de, 2=des lances, 3=question posee...
	$reponse->bindColumn("list_joueur", $list_joueur); //Liste des joueurs assis a la table
	$reponse->bindColumn("partie_lance", $partie_lance); //Booleen qui indique si la partie a commence
	$reponse->bindColumn("id_createur", $id_createur); //On recupere l'id du createur qui devra faire un traitement particulier lors du lancement de la partie
	$reponse->bindColumn("resultat_de", $de);
	$reponse->bindColumn("camemberts", $camemberts);
	$reponse->bindColumn("nb_camemberts",$nb_camemberts);
	$reponse->bindColumn("pause_demandee", $pause_demandee);
	$reponse->bindColumn("nb_joueur", $nb_joueur);
	
	$row=$reponse->fetch();
	$positions=unserialize($positions);	
	$nb_camemberts=unserialize($nb_camemberts);
	$camemberts=unserialize($camemberts);
	$list_joueur=unserialize($list_joueur);
	$table=$_GET['nomTable'];
	$action=$_GET['action'];
	

		
		if($action=="demarrer"){
			if($list_joueur[$id_createur] == $_SESSION['login']){ //Si c'est bien le createur de la table qui demarre la partie
				if($statut==0 && $partie_lance==0 && $partie_pause==0){  //Si la partie n'avait pas commence
					Quiz::initQuiz($table);
					
					$statut=1;
					$partie_lance=1;
					$tour=0;
					$camemberts=array($nb_joueur);
					$nb_camemberts=array(nb_joueur);
					$positions=array(nb_joueur);
					$i=0;
					$pause_demandee='0';
					foreach($list_joueur as $id_j=>$login){ //On initialise les camemberts de tous les joueurs, ainsi que leurs positions
						$nb_camemberts[$i]=0;
						$camemberts[$i]=array();
						$positions[$i]=0;
						$i++;
					}
					$camemberts=serialize($camemberts);
					$nb_camemberts=serialize($nb_camemberts);
					$positions=serialize($positions);
					
					$requete="UPDATE table_jeu SET statut='".$statut."', pause_demandee='".$pause_demandee."', partie_lance='".$partie_lance."', tour='".$tour."', nb_camemberts='".$nb_camemberts."', camemberts='".$camemberts."', position_joueur='".$positions."' WHERE nom_table='".$table."';";
					echo $requete;
					$result=$db_link->prepare($requete);
					$result->execute(); //La partie peut debuter
				}			
			}
		}
			
		if($action=="pause"){ //Si le chef de table souhaite mettre en pause
			if($list_joueur[$id_createur] == $_SESSION['login']){ //Si c'est bien le createur de la table qui met en pause
				$partie_pause=1;
				$pause_demandee='0';
				$requete="UPDATE table_jeu SET partie_pause='".$partie_pause."', pause_demandee='".$pause_demandee."' WHERE nom_table='".$table."';";
				$result=$db_link->prepare($requete);
				$result->execute();
			}
		}
			
		if($action=="unpause"){ //Si on souhaite reprendre la partie
			if($list_joueur[$id_createur] == $_SESSION['login']){ //Si c'est bien le createur de la table qui sort de pause
				$partie_pause=0;
				$pause_demandee='0';
				$requete="UPDATE table_jeu SET partie_pause='".$partie_pause."', pause_demandee='".$pause_demandee."' WHERE nom_table='".$table."';";
				$result=$db_link->prepare($requete);
				$result->execute();
			}
		}
			
		if($action=="askpause"){
			$pause_demandee=$_SESSION['login']." demande une pause :-) ";
			$requete="UPDATE table_jeu SET pause_demandee='".$pause_demandee."' WHERE nom_table='".$table."';";
			$result=$db_link->prepare($requete);
			$result->execute();
		}
		
		
		if($action=="standup"){
			if($partie_lance==1)
				die();
			$id_table=Table::get_id_table($_GET['nomTable']);
			Utilisateur::quitter_table_joueur($_SESSION['user']['id_joueur'],$id_table);
			Utilisateur::rejoindre_table_spectateur($_SESSION['user']['id_joueur'],$id_table);
		}
		
		if($action=="sitdown"){
			if($partie_lance==1)
				die();
			$id_table=Table::get_id_table($_GET['nomTable']);
			Utilisateur::quitter_table_spectateur($_SESSION['user']['id_joueur'],$id_table);
			Utilisateur::rejoindre_table_joueur($_SESSION['user']['id_joueur'],$id_table);
		}
		
		



?>